System for integrating multiple im networks and social networking websites

ABSTRACT

Systems and methods are described herein that provide for the integration of instant messaging applications and social networking websites. In some embodiments, a user can chat with individuals or groups of individuals that are logged in to a variety of different instant messaging applications or social networking websites, of which the user is a member. Thus, the user is able to use a single application to chat with any contact appearing on any of the user&#39;s contact lists across multiple different IM or social networks.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationSer. No. 61/092,542, entitled “System For Integrating Multiple IMNetworks And Social Networking Websites,” filed Aug. 28, 2008, thedisclosure of which is hereby incorporated by reference in its entirety.

BACKGROUND

The invention generally relates to Internet chat applications and socialnetworking websites, and particularly to integrating the multitude ofapplications and websites available on the Internet into a single userchat experience.

Systems and methods are generally known for allowing an Internet user tocommunicate with other individuals via an online chat room. Softwareapplications such as America Online's Instant Messenger (AIM), MicrosoftCorp.'s MSN Messenger, Yahoo!, Inc.'s Yahoo! Messenger, and others allowusers to communicate instantly with other users over a peer network.This type of communication, called instant messaging, allows simple, butlimited access to a user's preferred contacts. Instant messagingapplications permit users to track other users that are currently loggedin and to send those users real time text messages. Users typicallymaintain a contact or buddy list of preferred contacts that are, forexample, friends, family, co-workers, or others having common interests,etc. Users are able to participate in one-on-one chat sessions or inmulti-user chat rooms.

In addition to instant messaging applications, social networkingwebsites have increased in popularity in recent years. Websites such asFriendster, Facebook, and MySpace allow users to create personal,customizable web pages to leave messages, share photos, etc. Likeinstant messaging, social networking websites allow a user to maintain alist of preferred contacts. Unlike instant messaging, however, socialnetworking is not typically used for instant communication. Instead,users maintain their list of contacts as a means to view the web pagesof those contacts. Although these web pages are interactive and maycontain their own chat applications, they are typically not used forreal-time communication.

Current instant messaging applications and social networking websitesare limited. One such limitation is the inability for the user of oneapplication, such as AIM, to communicate with the user of anotherapplication, such as MSN Messenger. Another limitation is the inabilityfor multiple users to chat using video and audio feeds. Video and audiochat, as opposed to text-based chat, is typically only available forone-on-one chat sessions. Users in a multi-user chat room are unable touse the audio and video functionality of instant messaging applicationsand are instead left with only text-based chat. Yet another limitationis the inability to communicate with individuals that are not loggedinto an instant messaging application or social networking website.Disclosed embodiments address these shortcomings in a single softwareapplication.

SUMMARY OF THE INVENTION

Systems and methods are described herein that provide for theintegration of instant messaging applications and social networkingwebsites. In some embodiments, a user can chat with individuals orgroups of individuals that are logged in to a variety of differentinstant messaging applications or social networking websites, of whichthe user is a member. Thus, the user is able to use a single applicationto chat with any contact appearing on any of the user's preferredcontact lists, across multiple different IM or social networks.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a communication system andnetwork.

FIG. 2 is a schematic diagram illustrating the flow of information/databetween a user and an integrated communication system according to anembodiment.

FIG. 3 is a schematic illustration of the system architecture of anembodiment of an integrated communication system.

FIG. 4 is a flowchart illustrating a method of integrating instantmessaging and social networking into a single chat application accordingto an embodiment of an integrated communication system.

FIG. 5 is a screenshot illustrating an example user interface of anintegrated communication system according to an embodiment.

FIG. 6 is a flowchart illustrating a method of initiating a chat roomincluding the use of security settings according to an embodiment of anintegrated communication system.

FIG. 7 is a flowchart illustrating a method of dialing-in to a chat roomaccording to an embodiment of an integrated communication system.

FIG. 8 is a flowchart illustrating a method of calling out from a chatroom according to an embodiment of an integrated communication system.

FIG. 9 is a flowchart illustrating a method of displaying a speakerwithin a chat room according to an embodiment of an integratedcommunication system.

FIG. 10 is a flowchart illustrating a method of distributing audiobetween speakers according to an embodiment of an integratedcommunication system.

FIGS. 11 and 12 are each a flowchart illustrating a different method ofproviding a translation function according to embodiments of anintegrated communication system.

FIG. 13 is a flowchart illustrating a method of receiving RSS feedsaccording to an embodiment of an integrated communication system.

FIG. 14 is a flowchart illustrating a method of creating distributiongroups and sending messages to a distribution group according to anembodiment of an integrated communication system.

FIG. 15 is a flowchart illustrating a method of displaying relationshipsbetween users/participants within a chat room according to an embodimentof an integrated communication system.

FIGS. 16 and 17 are each a flowchart illustrating a method of creatingand sending a greetings and a method of creating and sending reminders,respectively, according to embodiments of an integrated communicationsystem.

FIG. 18 is a flowchart illustrating a method of implementing a voiceactivated delay in an audio and/or video playing within a chat room.

FIG. 19A illustrates a method of recording an audio and/or video of apresentation and providing a search capability of the presentation basedon inserted cue points in the recording; and FIG. 19B illustrates amethod of playing back the recorded presentation and correspondingpresentation documents.

FIG. 20 is a flowchart illustrating a method of streaming video feedsbetween users on an integrated communication system.

DETAILED DESCRIPTION

The systems and methods provided herein allow for the integration ofmultiple instant messaging (IM) software applications and socialnetworking websites. In some embodiments, a group chat room can becreated to include all of a user's preferred contacts (“friends”) fromall social networks to which the user belongs. All users within thatgroup chat room can communicate with one another via variouscommunication methods such as, for example, text messaging, audio andvideo chat, short message service (SMS), and/or Voice Over InternetProtocol (VOIP or voice over IP). As a result, users are able tocommunicate with one another across various social networks.

In some embodiments, one-to-one chat (i.e. a private chat between onlytwo users) can be available. One-to-one communication may have the samefunctionality as multi-user/group communication such as, for example,the ability to turn on a user's own audio and/or video feed, turn on theother user's audio and/or video feed with that user's permission, and/orsend files to the other user.

In some embodiments, public chat rooms can be available for any userwanting to join. In some embodiments, private chat rooms can beavailable for invited users only. In some embodiments, users mayautomatically be joined to a chat room if the room contains friends ofthe user (i.e. semi-private). In some embodiments, private chat roomscan be subscription-based. Chat rooms, whether private, semi-private, orpublic, can include a limit on the number of people allowed to join.

In some embodiments, users in a multi-user chat room can use audioand/or video feeds to communicate with one another. That is, users in amulti-user chat room are not restricted to text-based messaging only,but can also communicate via audio, video, or both. In some embodiments,audio feeds to the chat room can be split and evenly distributed to allaudio channels.

In some embodiments, a user is able to use a computer to place atelephone call (e.g., a Voice Over IP call) directly to anotherindividual's phone via a chat room. For example, if the participants ina chat room want to communicate with another person that is notcurrently online within that chat room, one of those participants candial the offline user's phone number to connect that user with the chatroom. In such a case, the added participant (via the call) can chat withthe other participants of the chat room. Conversely, an offline user can“dial-in” to a chat room and chat with the participants of that room.Other third party individuals can also be called and invited to join thechat room.

In some embodiments, a user is able to send a file to one or more users.In some embodiments, a user has its own whiteboard which it can sharewith any other user. The whiteboard can be used to open and sharedifferent types of files such as, for example, documents, spreadsheets,audio, video, pictures, etc. In some embodiments, a user's whiteboardcan be seen by invitation only. In another embodiment, a user'swhiteboard can be seen automatically by anyone in the chat room. In someembodiments, other users can draw on the whiteboard. In someembodiments, a user can post to their whiteboard, audio and/or videorecorded using a cell phone.

In some embodiments, participants in a chat room can make a videoplaylist. The videos can be played back in a queued fashion wherein allusers in the chat room can watch those videos. In some embodiments, auser can play games, individually or interactively with one or moreother users.

In some embodiments, a user can set up greetings to be sent to himselfor herself, a friend, or a group of friends. The greeting can be sentvia various methods such as, for example, SMS, electronic mail, or anautomated phone call. Additionally a user can customize greetings by,for example, setting or overlaying it with a tune, sending it out at acertain day and time, or embedding an advertisement. The user's messagecan also be selected from a prerecorded list or can use the user'svoice.

As used herein the term “friend” can mean an immediate friend of a useror a mutual friend of a user. A “mutual friend” means similar to afriend of a friend. For example, if John is a friend of Mary (who is asubscriber/user of Yahoo Messenger) and also a friend of Jane (who is asubscriber/user of Facebook), and Mary is also a friend of Doug (who isa subscriber./user of MySpace), and Jane is also a friend of Jack (whois a subscriber/user of AIM), then Mary is a mutual friend of John andDoug and Jane is a mutual friend of Jack and John. The system of thepresent invention can allow security settings to be set to allow allthese individuals/users of different networking systems to chat in asingle chat room. This enables a larger group of people to participatein a chat room.

As used herein the terms “user” refers to a person who has anassociation with the integrated communication network. For example, auser can have credentials to allow the user to log-in and use theintegrated communications network. A “user” can be connected to and“online” the integrated communication network or can be “offline” at agiven time. For example, an offline user can be included in a list offriends of another user who is online at a given time. A “user” or a“participant” can each refer to a person that is online andparticipating in a chat room of the integrated communication network.

FIG. 1 is a block diagram illustrating a system for communicating over acommunication network. A user 100 can connect to a network 110 such asthe Internet, an intranet, a local area network, a satellite network, orother network. The user 100 can gain access to an integratedcommunication system 112, via, for example, a designated websiteaddress. The integrated communication system 112 can provide integratedcommunication between the user 100 and various other users (describedbelow) across other IM networks 114 and/or social networks 116.

Once connected to the integrated communication system 112, the user 100can communicate with other users 104, 106, and 108 over the network 110.For example, user 100 can connect to the network 110 using a computer,laptop, or other known electronic computing device and log in to theintegrated communication system 112 as described in more detail below.The user 100 can communicate with other users also connected to theintegrated communication system 112 via the network 110. For example, asshown in FIG. 1, a second user can be connected to the network via acomputer terminal 102, a third user can be connected to the network viaa laptop 104, a fourth user can be connected to the network 110 via acell phone 106, and a fifth user can be connected via a standard landtelephone 108. Thus, multiple users can be connected to the network 110and the integrated communication system 112 using a variety of differenttypes of electronic computing devices.

The integrated communication system 112 includes a computer orcomputers. As used herein, the term computer is intended to be broadlyinterpreted to include a variety of systems and devices includingpersonal computers, laptop computers, mainframe computers, set topboxes, digital versatile disc (DVD) players, and the like. A computercan include for example, processors, memory components for storing data(e.g., read only memory (ROM) and/or random access memory (RAM), otherstorage devices, various input/output communication devices and/ormodules for network interface capabilities, etc.

The integrated communication system 112 (also referred to herein as“system” or “communication system”) can be based in software and/orhardware. The system 112 can provide for streaming of data in real-time.For example, an open source flash server can be used that can support,streaming of audio and video (e.g., FLV and MP3), recording clientstreams (e.g., FLV), shared objects, live streaming publishing and/orremoting (e.g., AMF). The system 112 can also include additionalfunctionality, such as, for example, allowing users in a chat room tostream their video from a webcam to the server and the server can relaythat to all users watching that video feed. In another example of addedfunctionality, the system 112 allows for the users to be able toinitiate audio conversations. For example, audio can be streamed to theserver and the server can relay it to all users listening to that audiofeed.

Various protocols for chat and also to communicate with the different IMnetworks (e.g., Yahoo, MSN, AOL, Google, ICQ, Skype, etc.) can be used.For example, the server can use Extensible Messaging and PresenceProtocol (XMPP) protocols. XMPP is an open XML technology for presenceand real-time communications. XMPP can also support integration withmany IM networks. Additional features included with the system 112 caninclude, for example, automatic creation of chat rooms, automated roomassignment to users based on the user's friends and single-sign on tomultiple chat room, IM networks, and/or external websites. The system112 can include various combinations of features and functionalitiesdescribed herein.

FIGS. 2 and 3 are schematic illustrations of an example embodiment of anintegrated communications system 112. FIG. 2 is a high levelillustration of the interconnection between a user and the system 112and the flow of information/data between the user and the variousservers of the system 112. As described above, a user 100 can connect tothe system 112 using, for example, a computer 120, including a browserand various connectivity and functionality capabilities, including, forexample, the ability to send and receive text messages, audio/videocapabilities and phone system connections (e.g., VOIP). The system 112can include various servers, such as, for example, a streaming server122, a chat server 124 and a SIP server 126 for communication with theuser 100 (i.e., computer 120).

The system 112 can also include a module 128 (e.g., an Apache module)that can run, for example, a PHP (hypertext preprocessor) scriptinglanguage. The module 128 can be connected to a system database 130,which can include, for example, a Structured Query Language (SQL) server144, as shown in FIG. 3. A phone service module 132 can also be includedin the system 112 and in communication with the SIP server 126. The SIPserver 126 is used in conjunction with the streaming server 122 andphone service module 132 to manage the video/audio and/or phonecommunications between users 100 (e.g., computer 120) and the system112.

As shown in FIG. 3, multiple users or clients 100 (e.g., users 102, 104,106, 108 shown in FIG. 1) can connect to the system 112 via a networksuch as the Internet 134. The system 112, can include a firewall 136, aprimary load balancer 138, and a fail-over load balancer 140, as arewell-known in the art. The primary load balancer 138 allows system 112to obtain optimal resource utilization and system performance bydistributing user 100 traffic between the various servers of system 112.Because the primary load balancer 138 is the single point of entry for auser to interact with system 112, the fail-over load balancer 140 canalso be included. Fail-over load balancer 140 works in conjunction withprimary load balancer 140—if primary load balancer 138 fails, fail-overload balancer 140 takes over and system 112 continues to operate withoutinterruption. Also shown in FIG. 3 is a chat connection manager module142 that routes information/data between the primary load balancer 138and the chat server 124. Chat connection manager module 142 can alsocreate and manage chat connections and settings to the various chatservers in chat server cluster 124.

FIG. 4 is a flowchart illustrating one embodiment of an integratedcommunication system 112 illustrating how a user creates chat rooms andjoins other chat rooms created by other users, such as the user'sfriends. At 200, the user logs in to the system 112 with the user'slog-in credentials that can include, for example, a user identificationnumber and password for the integrated communication system 112 or auser identification and password associated with a particular IM orsocial network. After logging in, the user's credentials are checked at202 to determine whether the user has registered its social networkswith the system 112 (i.e. provided login information). If the user hasnot previously provided login information, at 204 the user provides thatinformation. For example, the user may provide all of its user IDs andpasswords for instant messaging networks such as, for example, AIM, MSNMessenger, Gtalk, TCQ and/or Yahoo! Messenger, as well as user IDs andpasswords for social networking websites such as, for example, Facebook,MySpace, Hi5, and/or Orkut. Additionally, a user may store user IDs andpasswords for other external websites such as, for example, onlinebanking or electronic mail websites. The system 112 can store the user'suser ID and password for the social networks and websites in anencrypted format. Whether the user has previously provided logininformation or provides it at 204, at 206 the system 112 will log theuser in to all social networks (e.g., IM networks and/or socialnetworking websites) for which it provided login information.

At 208, the system 112 retrieves and displays the user's pre-selectedlist of friends (also referred to as “buddies”) from each social networkfor which the user provided login information. The user can sort thelist of friends in various ways including, for example, by socialnetwork or by participant status (e.g. friend is online, offline, away).Additionally, the user may filter its friends list by, for example,showing only those friends from certain social networks or by showingonly a selected number of social network friends. The system 112 thenexamines each list of friends or mutual friends at 210 and determineswhether any of the user's friends have created a chat room. At 212, thesystem 112 allows the user to join each chat room created by the user'sfriends or mutual friends. For each chat room the user joins, a visualindicator may be created to aid the user in switching between chats. Forexample, when the user is added to a chat room, a tab for that chat roommay be displayed on the user interface. The user is then able to switchbetween chat rooms and communicate with the participants of each chat byclicking on the desired chat room tab. When a tab for a particular chatroom is clicked, that chat room becomes active.

Additionally, to keep track of multiple chat rooms, each chat room theuser joins can be identified by, for example, the name of the user thatcreated that particular chat room. At 214, after examining the user'slist of friends, the system 112 can create a chat room for the user. Forexample, if it is determined that there are no existing chat roomscreated by the user's friends (e.g., at 210), the system can create anew chat room at 214. The system 112 can also optionally create a newchat room even if it is determined that there are existing chat roomscreated by friends. The newly created chat room can be named, forexample, the same name as the user. Whenever a friend or mutual friendof the user signs onto a social network (e.g., IM networks and/or socialnetworking websites) registered by the user, that friend will be able tojoin the user's chat room. As a result, there can possibly be a mix offriends and mutual friends from different IM and social network websitesin a single chat room.

FIG. 5 is a screenshot of an example user interface display 250,illustrating the integration of multiple participants from variousdifferent IM and social networks in a single chat room. As shown in FIG.5, the interface display 250 can include multiple displays including afirst display portion 252 showing video feeds of multipleusers/participants of the chat session, and a second display portion 254including a listing of the user's friends that are online and a listingof the user's friends that are offline. For the users that are online,the listing display can also indicate which IM or social network towhich each friend is logged-in (e.g., Yahoo Messenger, Facebook, AIM,Google Gtalk, MSN Messenger MySpace, etc.). The system 112 can displaymultiple video feeds (e.g., of participants) in a single chat room. Forexample, two, three, four, five or more video feeds can be displayed. Asshown in FIG. 5, seven video feeds are displayed in the first displayportion 252. FIG. 5 is merely an example of (e.g., a screenshot at agiven time period) of a user interface display, and it should beunderstood that various display features can be included (or excluded)on a user interface display.

In some embodiments, an individual that is not currently participatingin the chat room can be invited to join the chat room via call. Forexample, at 216 (referring back to FIG. 4) a participant can place acall from within the chat room to the desired individual. This call canbe made using, for example, Voice Over IP. For example, a phone handseticon visible on the participant's computer display can be actuated toinitiate the call. If the called individual answers the phone call, thenthat person automatically becomes a participant in the chat room and isable to communicate with all other participants of the chat. Forexample, all chat room participants, including the individual on thephone, can communicate by speaking to one another.

In some embodiments, a user can define a phone number for himself orherself. The user can then give the phone number to friends or publishit in a directory. Additionally, a user can define a phone number for aparticular friend. When calling a friend, a user can choose which phonenumber to use, the one defined by the user or the one defined by thefriend.

In some embodiments, the participants can also communicate viatext-based communication. When using text-based communication, in someembodiments, speech-to-text translation methods can be used to translatethe voice of an individual on the phone to text. Conversely,text-to-speech translation methods can be used to translate text fromchat room participants to speech for the person on the phone. In someembodiments, at 218, an individual participating in the chat room via aphone can communicate with other participants in the chat room via SMS.For example, a participant in the chat room can enter a text message inthe chat room and the text message can be sent via SMS to theparticipant on the phone. The person to whom the SMS message is sent canbe automatically connected to the chat room as a participant. If a userdoes not want to communicate via SMS text, however, that user can set aprivacy setting that prevents the user from being automatically joinedto a chat via SMS. Each message sent via SMS can contain informationidentifying the speaker such as, for example, a prefix indicating thespeaker's username. The same is true when an IM network friend or mutualfriend participates in a chat room. The IM friend/mutual friend willreceive the messages of the chat room prefixed with the sender'susername. Conversely, an individual participating in the chat room via aphone can send a text message via SMS that can be displayed in the chatroom for viewing by all other participants in the chat room. In someembodiments, the individual sending the text message via phone candesignate the message to be viewed by only some participants.

Thus, an integrated communication as described herein can be used tocreate chat rooms and allow users to join multiple chat rooms acrossmultiple IM networks and social networking sites. The participants insuch chat rooms can communicate using text, audio and video chatmethods. Participants can also communicate using text messages and talkvia VOIP phone calls. When communicating via audio and video, a user canhave the ability to turn on its own audio and/or video feed.Additionally, users can have the ability to turn on any other user'svideo and audio feeds with the other user's permission. The audio can beset such that audio from all participants in a chat room will be audiblefor the active room only. If the user switches to a different room, theaudio for the previous chat room will stop playing and audio from thecurrently active room will begin. The video can be set in a similarmanner or, alternatively, the user can see video from all users in allchat rooms in which the user is currently participating.

As described above, the integrated communication system 112 can includea variety of different functionalities to enhance the communicationcapabilities of the system. It should be understood that some or all ofthe functionalities can be included in an integrated communicationsystem 112 as described herein. Thus, the communication system 112 canhave a variety of different configurations. FIG. 6 is a flowchartillustrating a method of checking for security settings implemented byparticipants using the system 112. As described above, a user of theintegrated communication system 112 can join chat rooms in which afriend or buddy is a participant. A user can also join chat rooms that amutual friend is a participant.

As shown in FIG. 6, a user can log in to the communication system 112 at300 using any of its registered logins. For example, the user can log into system 112 using its login for Facebook, MySpace, AIM, Yahoo!Messenger, or any other social network the user has registered with thesystem. After logging in, at 302, system 112 reviews/examines all of theuser's friend lists from each of its registered networks to check whichfriends are currently online. If the user logs in to system 112 using,for example, its MySpace login, the system 112 will still cycle throughall of the user's registered social networks such as, for example,Facebook, MySpace, AIM, Yahoo! Messenger, etc. At 304, system 112 checkswhether any of the online friends or mutual friends of the user areparticipating in a chat room. If not, system 112 can create a chat roomfor the user at 316. As described above, system 112 can assign the chatroom a name such as, for example, the login ID or name of the user.After the chat room has been created, other users can join in the chatroom as described above with reference to FIG. 4.

Alternatively, if system 112 finds one or more friends or mutual friendsof the user participating in one or more chat rooms, system 112maintains a list of those chat rooms and cycles through (e.g.,reviews/examines) each room beginning at 306. For each chat room on thelist, the system checks for any security settings that have been placedon the chat room by a user at 308. For example, the system 112 candetermine whether any participant has a security setting that deniesaccess to, for example, mutual friends. If access is denied by at leastone participant, system 112 goes back to 306 to check the next chat roomon the list. If none of the participants has a security setting thatdenies access to the user, the user's security settings are checked at310. For example, the system 112 checks the user's security settings todetermine whether the user has defined a setting that prohibits system112 from joining the user to a chat room with mutual friends. If theuser's security settings contain a setting that prohibits adding theuser to a chat room in which a mutual friend is participating, then theuser is not added to that chat room and system 112 cycles back to 306 tocheck the next chat room on the list.

Alternatively, if the user does not define such a security setting,system 112 allows the user to join that chat room at 312. System 112continues to cycle through this loop 306, 308, 310, and 312 until itreaches the end of chat room list (e.g., identified at 306). Aftercycling through each chat room on the list, at 314, the chat room thatcontains the greatest number of the user's friends is identified, andthe user is placed in that chat room at 318. In other words, of all thechat rooms system 112 allows the user to join (at 312), the user isplaced in the room that contains the highest number of friends.

As described above, in some embodiments, the integrated communicationsystem can also provide for a user to join in a chat room via telephone.FIG. 7 is a flowchart illustrating a method of connecting to a chat roomwithin the system 112, using a phone to call into and connect to thechat room. In this embodiment, at 400, an online user logs into thesystem 112 whereby the system 112 creates a chat room for that user asdescribed above, for example, with reference to FIG. 4. At 402, thesystem 112 assigns a phone number and extension to the chat room.Participants in the chat room can SMS the phone number and extension tofriends not currently participating in the chat room via the system 112.At 404, a person that desires to participate in the chat room, but isunable to log in to a social network (e.g., via a computer) can use thephone number and extension to call into the chat using a landline phone,cell phone, VOIP, or other telephony equipment. The system 112 answersthe call at 406 and routes the caller to the appropriate chat room basedon the extension entered. The caller will then be able to communicatewith the participants of that chat room as described in FIG. 4 above.

In some embodiments, the integrated communication system 112 can alsoinclude the ability for a user within a chat room to call other users tojoin in the chat room. The system 112 can assign a telephone number forthe chat room and optionally a pin code. Users in the chat room can sendthe phone number (and pin code if applicable) to his or her friends andthose friends can then call into the chat room. For example, as shown inthe flowchart of FIG. 8, a first user can join a chat room at 500 asdescribed above. At 502, the first user can place a call to someone hewould like to have join the chat room. For example, the first user canhave a list of friends and their associated telephone number (e.g., acell-phone, land line, or VOIP number) can be provided in the list. Thefirst user can click a button on the screen next to or associated with asecond user (e.g., a friend of the first user) who is currently offline(e.g., not participating in the chat room) and the system 112 will makea VOIP call to that person (e.g., the second user).

The first user can determine if the second user answers the call at 504,and if not, can terminate the call at 506. For example, the first usercan press a disconnect button or click a disconnect icon on the screen.In some embodiments, at 504, the system 112 can make a determination asto whether the second user answers the call, for example, after acertain number of rings. If the second user does not answer the call,the system 112 can automatically terminate the call at 506. If thesecond user does answer the call, at 508, the second user joins the chatroom. Once joined within the chat room, other participants (in additionto the first user) in that room can also hear and communicate with thesecond user.

The integrated communications system 112 can also include variousfeatures that can further enhance the chat room experience for theparticipants. In one example, the system 112 can include an enhancedvisual effects feature that allows the particular speaker during a chatsession to be viewed in a larger video screen space or format than theother participants. As shown in FIG. 9, at 600, a number ofusers/participants can join a chat room via the system 112 as describedabove, and turn on their audio and/or video. The first user in the chatroom becomes the “Owner.” Certain features relevant to the Owner aredescribed in more detail below. At 602, the users can turn on theirvideo feeds for all users in the chat room. When a user in the chat roombegins to talk that user becomes the “Speaker” of the chat room at 604.Thus, the Speaker is the user that is currently talking during the chatsession. The video feed of the Speaker will be produced on all users'video screens larger than the other users. The video feed associatedwith a given user may include, for example, a photograph, symbol,avatar, text, etc. selected by that user to represent himself/herself.

If the Speaker stops talking for a specified time period (e.g., n numberof seconds), then the floor becomes open for someone else to become theSpeaker. At that point, if a new Speaker begins talking, at 606, thesystem 112 will perform a visual effect of fading out the previousSpeaker and fading in the new Speaker's video feed, which will bedisplayed in a larger format to all users in the chat room as indicatedat 608. A variety of different special effects can be used and selectedby each user, for example, during a user set-up procedure with thesystem 112.

At 610, in some embodiments, the system 112 can also make the audio feedof the Speaker dominant in the chat room. For example, the system 112will prevent the stream of audio from other users if they start talkingwhile the Speaker is talking. This can enable a meeting or chat sessionto take place without sudden interruptions. The system 112 canoptionally be configured to allow the Owner to override this feature. Inthis case, the audio of the Owner will be streamed in regardless of whoelse is talking. The system 112 can also be configured to allow theOwner to change settings to allow the audio of all the users to bestreamed at all times. At 612, the system 112 can determine if there isa pause in the audio stream of the Speaker. For example, if the audiofeed for the Speaker ceases for a specified time period (e.g., n numberof seconds) then the system 112 can fade out the Speaker. At that time,a new user can start talking and become the Speaker, at 604. If there isno pause in the audio feed of the Speaker, then the Speaker continues tobe displayed in a larger video format than the other users, at 608.

Another example of an enhanced feature of the system 112 is describedwith reference to FIG. 10. In this example, the system 112 includes anenhanced audio management feature that allows the participants toachieve a stereo or surround sound effect during a chat session. Asshown in FIG. 10, at 700, a user can join a chat room as describedabove. At 702 the user enables an audio chat to hear other users in thechat room. The system 112 can make a determination at 704 as to how manyusers are participating in the chat room. If the number of otherparticipants is less than 2, then the system 112 can relay the audio orvoice from the chat room in mono sound to the user at 706. If, at 704,the number of other participants is determined to be greater than 2,then the system 112 can then determine if the user has a surround soundsystem at 708. If the user does not have a surround sound system, thenthe system 112 can determine if the user has a stereo sound system at710. If the user does not have a stereo sound system, then the system112 can relay the audio or voices from the chat room in mono sound at706. If the system 112 determines at 710 that the user does have astereo system, then the system 112 can encode the sound by splitting thenumber of participants between two speakers (or however many speakersthe user has) by applying stereo encoding at 712. At 716, the system 112can relay or distribute the audio across the two speakers with an equalnumber of participants.

If, at 708, it is determined that the user does have a surround soundsystem, then the system 112 can calculate the type of encoding neededbased on the number of participants and the number of speakers the userhas at 714. At 716, the system 112 can relay or distribute the audio byencoding the sound across the speakers with an equal number ofparticipants.

FIGS. 11 and 12 illustrate translation capabilities of the system 112.In some embodiments, the system 112 can be configured to translate textthat a user sends to other users in a chat or IM room. For example, areceiving user can select such translation as a set-up option of thesystem 112. Similarly, a sending user, can also indicate whether theuser wants messages that he or she sends out to be translated. Iftranslation is selected, the system 112 can parse each word in the text,and match it against the system's translation database. The word can betranslated to a new value in that database. This can enable users thatare not familiar with shorthand mnemonics to understand what the otherparties are conversing about. For example, if a user types “LOL,” thesystem 112 can translate this to “laughing out loud.”

FIG. 11 is a flowchart illustrating the use of such a translationfeature within the system 112 for translation of text sent via a chat orIM room through a website. FIG. 12 illustrates the use of thetranslation feature of the system 112 to translate text messages sentvia SMS. As shown in FIG. 11. at 800, a chat or IM room is created asdescribed above. A first user types a text message in the IM/chat roomand sends the text message to one or more other users at 802. At 804,the system 112 will route the text to the designated user or users inthe IM/chat room. At 806, the system 112 can make a determinationwhether all the users designated to receive the text did in fact receiveit. If all designated recipients did receive the text, no further actionby the system 112 is performed. If one or more designated recipients didnot receive the text, at 808 the system 112 checks the receiving users'defined setup parameters to determine if a designated recipient hasindicated that he or she desires translation of any mnemonics receivedin a text. The system 112 also checks if the sending user has designatedthat such translation be performed before sending the text. If theparameters of the recipient users and the parameters of the sending userdo not indicate a request for translation, the text is sent to thedesignated recipient users within the chat room at 810. If either arecipient user or users or the sending user designated translation, thenat 812, the text is translated. As described above, the system 112 canparse the words in the text and if any of the words exist in a mnemonicstranslation table, the word is replaced with the translation. Thetranslated text is then sent to the designated recipient users in thechat room at 810.

As stated above, FIG. 12 illustrates the use of the translation featureof the system 112 for translation of test messages (SMS) that users sendvia the system 112. As described above for text sent within a chat room,the system 112 can optionally translate text messages sent betweenusers. As shown in FIG. 9, at 900 a chat/IM room is created as describedabove. At 902, a participant or user in the chat room can send a textmessage (SMS) to one or more people on their cell phones or othercomputing devices, via the system 112. As with the previous exampleembodiment, at 904, the system 112 can make a determination whether alldesignated recipients received the text message. If all designatedrecipients did receive the text message, no further action by the system112 is performed.

If one or more designated recipients did not receive the text message,at 906 the system 112 checks the sending user's defined parameters todetermine if the sending user has designated that translation of anymnemonics be performed prior to sending the text message. If theparameters of the sending user do not indicate a request fortranslation, the text message is sent to the designated recipient useror users at 908. If the sending user designated translation, then at910, the text message is translated as described above. The translatedtext message is then sent to the designated recipient user or users at908.

The system 112 can also be configured to allow a user to receive RSSfeeds via the system 112. A user can select from a list of predefinedRSS feeds that can be subscribed to, such as for example, sports news,markets, celebrity news, etc. A user can also define their own RSS feed.A user can set up alerts on the RSS feeds that can be sent to the uservia, for example, SMS text messaging or emails. An alert can optionallybe setup based on specific keywords or other filter parameters. Forexample, the user can specify how often the system should pull thesource of the RSS feed.

FIG. 13 illustrates an example of a RSS feed feature of the system 112.At 1000, a user can join a chat room as described herein. At 1002, theuser can set up the system 112 to send the user RSS feeds. Optionally,the user can define alerts on the RSS feeds to be sent to the user whenthe user is not online with the system 112. As described above, thealerts can be based on keywords or other parameters. At 1006, the userreceives selected RSS feeds via the system 112. The system 112 can alsobe configured to check whether the user is online at 1008. If the useris online with the system, at 1010, the system 112 displays the RSSfeeds to the user. If the user is not online, at 1012, the system 112sends an alert to the user for RSS feeds that match the pre-definedfilters set up by the user.

FIG. 14 illustrates a method of setting up a group distribution list andsending a message to one or more groups according to an embodiment of anintegrated communication system 112. This allows a user to send amessage to multiple recipients without having to select each recipientindividually. As shown in FIG. 14, at 1100, a user prepares to send aSMS message using the system 112. At 1102, the user can check if he orshe has any predefined group distribution lists within the system 112.In some embodiments, the system 112 can automatically check for such adistribution list. For example, when a user initiates a message, thesystem 112 can check for any predefined group distribution lists. Ifthere are no predefined distribution lists, the user can optionallycreate a distribution list at 1104. If there are existing predefinedgroup distribution lists, the user can select one or more groups at1106.

At 1108, the user can select a day and time for the message to be sent.For example, the user can select to send the message immediately, or canselect a later day and/or time to send the message. At 1110, the usertypes the text message and initiates the system to send the message tothe designated recipients. At 1112, the user can select to send themessage via an IM chat, rather than or in addition to, via SMS.

FIG. 15 is a flowchart illustrating a method of evaluating therelationships between participants in a chat room according to anembodiment of an integrated communication system 112. At 1200, a firstuser logs into the system. At 1202 the system 112 identifies the firstuser and locates a friend or friends (referred to as second user) of thefirst user currently logged into a chat room and sends or logs the userinto that chat room. At 1204, a third user, who can be, for example, afriend of the second user, logs into the system 112 and enters the samechat room in which the first user and the second user are currentlylogged in. At 1206, the system displays a six degrees of integrationicon (also referred to as “integration icon”) next to each user (e.g.,first user, second user, third user, etc.). The integration icons allowthe users/participants to view the relationships between the varioususers in the chat room.

At 1208, a user can hover over an icon (e.g., place the pointing arrowover the icon) next to another user's name (or other indicator of theuser) and see relationships that user has with other users. For example,if the first user hovers over the icon associated with the third user,he can see if the third user is a friend of the second user and if thesecond user is a friend of the first user. There can be a variety ofdifferent visual representations to illustrate various relationships.For example, one visual presentation can be a tree diagram structureshowing the relationships between users. In the above example, the treediagram can show the relationship between the first user, the seconduser and third user. In another example, the visual representation canshow all mutual friends, but only highlight a path between the firstuser, the second user and the third user. At 1210, the system 112 checksfor other users logged into the system to determine if they are friendsof the first user, the second user or the third user, in this example.If a friend of one of the users is identified, the integration icon willbe displayed next to that user's name at 1206.

FIGS. 16 and 17 illustrate a method of sending greetings to another useror users or to a third party, and a method of sending a reminder to theuser, respectively, using the system 112. The system 112 can send agreetings or reminder message via SMS, email or phone. When sending agreeting by email, the user can include an audio/video format and/ortext. If sending a greeting by phone, a user can use an audio format,and to send a greeting by SMS the user can use a text format. In someembodiments, a user can also select from prerecorded audio and/or videogreetings to send to other users or to a third party. In someembodiments, the user can overlay a voice message onto a prerecordedgreeting or message.

As shown in FIG. 16, a user can log into the system at 1300. At 1302 theuser selects the send greeting option. For example, the user can clickon an icon displayed on the user interface (computer screen). At 1304,the user can specify a time to send the greeting. For example, thegreeting can be sent immediately, or specify that the greeting bedelivered at a later time. At 1306, the user can select a mechanism tosend the greeting. For example, the user can select email, phone orSMS/text.

If the user selects email, at 1308, the user can record a greeting inaudio, video and/or text format. In this scenario, at 1310, the system112 sends the email to the intended recipient or recipients at thespecified time (e.g., selected at 1304). If the greeting includes anaudio/video attachment, the email can include instructions for therecipient to open the recorded audio/video greeting. In someembodiments, the system 112 can automatically include such instructionsin the email. If the user, at 1306, selects to send a greeting via SMS,at 1312, the user can type a message in text format. At 1314, the system112 sends the greeting to the intended recipient or recipients via SMSat the specified time (e.g., selected at 1304). If at 1306 the userselects to send a greeting via phone, at 1316, the user can record agreeting in audio format. At 1318, the system 112, at the specified time(e.g., selected at 1304), calls the intended recipient via VOIP andplays the recorded audio greeting.

As shown in FIG. 17, the method of sending a reminder is similar to themethod of sending a greeting. In this embodiment, at 1400, a user logsinto the system 112. At 1402, the user selects to set up a reminder. Forexample, the user can click on an icon displayed on the user interface.At 1404, the user can specify a time for delivery of the reminder (e.g.,immediately or at a later selected time). The reminder can also be tiedto the user's calendaring program such that the date and/or time of thereminder is displayed within the user's calendar. At 1406 the user canselect a mode of delivery for the reminder. For example, the user canselect to have a reminder sent to himself or another user via email,SMS, or phone.

If the user selects email, at 1408, the user can record a reminder inaudio, video, and/or text format. At 1410, the system 112 sends thereminder to the user or other intended recipient at the specified timeselected at 1404. If the reminder includes an audio or video formatportion, the email can include instructions for the recipient to openthe recorded audio or video reminder. In some embodiments, the system112 can automatically include such instructions in the email. If theuser, at 1406, selects to send a reminder via SMS, at 1412, the user cantype a message in text format. At 1414, the system 112 sends thereminder to the intended recipient or recipients via SMS at thespecified time (e.g., selected at 1404). If at 1406 the user selects tosend a reminder via phone, at 1416, the user can record a greeting inaudio format. At 1418, the system 112, at the specified time (e.g.,selected at 1404), calls the intended recipient(s) via VOIP and playsthe recorded audio reminder.

FIG. 18 illustrates a feature that allows for users of the integratedcommunication system 112 to interrupt or pause the audio portion of afile, such as music or a video, within a chat room. For example, whenmultiple users are listening to an audio (e.g., music file) or videofile (e.g., movie), and one of the participants wants to make a commentor otherwise break-in while the audio or video file is playing, thesystem 112 can automatically pause the audio portion when that userbegins to speak. Thus, the system 112 provides for the voice activatedpause of audio playing within a chat room as one participant in the chatroom begins to speak. The system 112 can also be configured to pauseboth the audio and video (not just the audio portion) based on voiceactivation.

One example method of such a feature is described with reference to FIG.18. At 1500, multiple users (e.g., at least two) log in to the system112 and join a chat room as described above. At 1502, one of the usersselects an audio (e.g., music) or video file to share with the otherparticipants in the chat room. At 1504, other participants in the chatroom can optionally select to listen and/or view the selected audio orvideo file. At 1506, as one of the participants begins to speak, thesystem 112 detects the user's voice and at 1508, the system 112automatically pauses the audio or audio portion of the video (or thevideo and audio) to allow the other users in the chat room to hear whatthe participant is saying. Otherwise, the audio/video continues to playat 1510. At 1512, the system 112 can detect if there is a pause in theuser's speech for a predefined number of seconds. If there is a pause inthe user's speech that exceeds the predefined number of seconds, thesystem 112 resumes play of the audio at 1510. Otherwise, the audio/videocontinues to remain paused at 1514.

FIGS. 19A and 19B illustrate a feature of the system 112 that providessynching of video/audio to slide changes in, for example, PowerPointpresentations, using a cue point made available by Flash. This featureenables the system 112, on playback, to empower a user to jump fromslide to slide or animation to animation during a presentation, and thevideo associated with the presentation will automatically fast forwardto the desired point.

As shown in FIG. 19A, an example method includes multiple users loggingon to the system 112 and joining a chat room at 1600. At 1602, a user inthe chat room uploads, for example, a PowerPoint presentation (or othertype of file, such as, for example, Excel, Word, Visio, PDF, etc.) tothe system 112. At 1604, the system 112 automatically converts theuploaded document into Flash. All images within those files can beconverted to web friendly images that include fewer bytes. The verbiagecan also be extracted and loaded into a database of the system 112. Thisprovides the user a search capability on verbiage within the user'spresentation. For example, in a PowerPoint presentation, all theanimations can be converted to Flash.

At 1606, the user starts the presentation and requests the system 112 torecord the presentation. At 1608, upon receipt of the request, thesystem 112 begins recording the presentation. The recording can includeaudio and/or video of the user. At 1610, as the user moves to the nextpage/slide/animation in the presentation, the system 112 inserts a cuepoint into the recorded video matching the exact time this took place.This continues until the user completes the presentation at 1612.

FIG. 19B illustrates how the system 112 can playback the recordedpresentation. At 1700, a user selects the recorded presentation toplayback. At 1702, the system 112 starts the play back of the recordedpresentation (e.g., audio and/or video) together with the document(e.g., a PowerPoint, Word, Excel, PDF file, etc.) that was presentedduring the presentation. At 1704, when the user selects to go to thenext page/slide/animation in the presentation, the system 112 searchesthe database for the next cue point. At 1706, the system 112 matchesthat cue point to a specific time in the recorded audio and/or video. At1708, the system 112 will display the next page/slide/animation andresumes the video/audio from the corresponding point in time thatmatches that cue point.

FIG. 20 illustrates another feature that can be provided by theintegrated communication system 112. An example method of streamingvideo feeds between users within a video chat room is described. Thus,the video feeds can bypass the server of the system 112, which canreduce costs.

As shown in FIG. 20, at 1800, a user A starts a webcam feed. At 1802, aserver of the system 112 determines and records connection informationon the server. The connection information can include, for example,connection speed. At 1804, the system 112 notifies all user A's friendsof user A's webcam availability. At 1806, a user B (e.g., another useror participant in the chat room) sends a request to the system 112 towatch user A's webcam. The system 112 then sends to the request to userA for approval at 1808. At 1810, the user A can approve the request. Ifuser A approves the request, the system 112 evaluates bandwidth andconnection speeds of user A, at 1812 and at 1814, the system 112determines if there is enough bandwidth and connection speed availableat user A. If there is enough bandwidth and connection speed available,then the system 112 starts streaming the video from user A directly touser B without going through the server of the system 112 at 1816, anduser B can watch user A's video feed at 1820. If there is not enoughbandwidth and connection speed available at user A, then at 1818, thesystem 112 will stream the user A video feed to user B. In other words,if there is enough bandwidth and connection speed at the devicestreaming the video feed, the server at the system 112 is bypassed, butif there is not enough bandwidth and connection speed at the sourcedevice, the video feed is routed to the receiving device via the serverof system 112.

The above process can be repeated for other users requesting to watchuser A's video feed. Each time a user makes a request to watch the videofeed the system 112 evaluates the bandwidth and connection speed to seeif there is enough to stream to the new user. When a threshold isreached, the new users will be streamed through the server of the system112, while for users already receiving the video feed the video willstill be streamed directly from user A's computer.

The integrated communication system 112 described herein (also referredto herein as “system” or “communication system”) can be embodied in acomputer storage product with a computer-readable medium (also can bereferred to as a processor-readable medium) having instructions orcomputer code thereon for performing various computer-implementedoperations. The media and computer code (also can be referred to ascode) may be those specially designed and constructed for the specificpurpose or purposes. Examples of computer-readable media include, butare not limited to: magnetic storage media such as hard disks, floppydisks, and magnetic tape; optical storage media such as CompactDisc/Digital Video Discs (CD/DVDs), Compact Disc-Read Only Memories(CD-ROMs), and holographic devices; magneto-optical storage media suchas optical disks; carrier wave signals; and hardware devices that arespecially configured to store and execute program code, such asApplication-Specific Integrated Circuits (ASICs), Programmable LogicDevices (PLDs), and ROM and RAM devices. Examples of computer codeinclude, but are not limited to, micro-code or micro-instructions,machine instructions, such as produced by a compiler, and filescontaining higher-level instructions that are executed by a computerusing an interpreter. For example, an embodiment of the invention can beimplemented using Java, C++, or other object-oriented programminglanguage and development tools. Additional examples of computer codeinclude, but are not limited to, control signals, encrypted code, andcompressed code.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Where methods and steps described above indicate certainevents occurring in certain order, those of ordinary skill in the arthaving the benefit of this disclosure would recognize that the orderingof certain steps may be modified and that such modifications are inaccordance with the variations of the invention. Additionally, certainof the steps may be performed concurrently in a parallel process whenpossible, as well as performed sequentially as described above. Theembodiments have been particularly shown and described, but it will beunderstood that various changes in form and details may be made.

For example, although various embodiments of an integratedcommunications system 112 have been described as having particularfeatures and/or combinations of features and/or components, otherembodiments are possible having any combination or sub-combination ofany features and/or components from any of embodiments/figures asdiscussed above.

What is claimed is:
 1. A method, comprising: identifying registeredsocial networks and instant messaging networks associated with a user ofan integrated communication network; logging the user into allidentified social networks and instant messaging networks associatedwith the user; identifying pre-selected friends of the user within theidentified social networks and instant messaging networks and displayinga list of the preselected friends to the user; determining whether oneor more of the preselected friends of the user has created a chat roomin one or more of the instant messaging networks and social networksassociated with the user; and if during the determining a chat room isidentified and upon request by the user, connecting the user to one ormore of the identified chat rooms.
 2. The method of claim 1, furthercomprising: after the determining, and upon request by the user,creating a chat room for the user in the integrated communicationnetwork.
 3. The method of claim 1, the method further comprising:connecting a user to a chat room within the integrated communicationnetwork via a voice over internet protocol call.
 4. The method of claim1, further comprising: sending a voice over internet protocol callinitiated by a first user within a chat room of the integratedcommunication network to a second user within the chat room or to athird party.
 5. The method of claim 1, further comprising: sending atext message created by a first user within a chat room of theintegrated communication network to a second user of the chat room or toa third party.
 6. The method of claim 1, further comprising: displayinga list of participants within a chat room of the integratedcommunication network; and providing relationship information associatedwith each participant within the chat room.
 7. The method of claim 1,further comprising: displaying within a chat room of the integratedcommunication network a video feed of a first user in a larger formatthan a video feed associated with each of the remaining users when thefirst user is communicating with the other users via audio or textcommunications.
 8. The method of claim 1, further comprising:translating a mnemonic included within a text message sent by a user ofa chat room of the integrated communication network.
 9. The method ofclaim 1, wherein the determining includes determining whether one ormore mutual friends of the preselected friends of the user has created achat room in one or more of the social networks associated with theuser, if during the determining, a chat room of a mutual friend isidentified and upon request by the user, connecting the user to a chatroom of a mutual friend.
 10. The method of claim 1, further comprising:encoding the audio output at the electronic device to distribute theaudio for each participant within the chat room to a selected speakerfrom a plurality of speakers coupled to the electronic device.
 11. Themethod of claim 1, further comprising: automatically pausing an audiooutput of an audio or video file playing within a chat room upon voicerecognition of a participant in a chat room.
 12. The method of claim 1,further comprising: during a presentation, inserting a cue point into arecorded video of the presentation to indicate a time and a locationwithin the video where a page of the presentation has been changed. 13.The method of claim 1, further comprising: streaming a video feeddirectly from a first electronic device in communication with theintegrated communication network to a second electronic device incommunication with the integrated communication system bypassing a videoserver of the integrated communication system.
 14. A method, comprising:sending from an electronic device to an integrated communication systeminformation associated with a user's identification and passwordassociated with one or more instant messaging networks or socialnetworks; receiving at the electronic device a list of preselectedfriends associated with the instant messaging networks and socialnetworks associated with the user; receiving at the electronic device alist of chat rooms initiated by one or more of the preselected friends,the list of chat rooms including one of no chat rooms or at least onechat room; and if at least one chat room is listed, selecting to joinone or more of the at least one chat rooms listed.
 15. The method ofclaim 14, further comprising: sending a request from the electronicdevice to the integrated communication system to create a chat room. 16.The method of claim 14, further comprising: receiving a list ofparticipants within a chat room and an indication of the participantsassociated instant messaging or social networks; and receivingrelationship information associated with each participant within thechat room.
 17. The method of claim 14, further comprising: receiving atthe electronic device a RSS feed from the integrated communicationnetwork.
 18. The method of claim 14, further comprising: sending fromthe electronic device a text message created by a participant in a chatroom to be sent to another participant in the chat room.
 19. The methodof claim 14, further comprising: sending from the electronic device agreeting to at least one of a participant in the chat room or a thirdparty.
 20. The method of claim 14, further comprising: sending from theelectronic device a reminder to the user of the electronic device, thereminder being displayed at a specified time and date within the user'scalendar program.
 21. An integrated communications system, comprising: aserver configured to integrate communications within a chat room createdby the server between a plurality of electronic devices and across aplurality of different instant messaging and social networks, the serverconfigured to connect a first electronic device from the plurality ofelectronic devices to one or more instant messaging or social networksassociated with a user of the first electronic device, upon receipt of arequest by the first electronic device, the server configured to atleast one of connect the first electronic device to one or more chatrooms created by preselected friends of the user of the first electronicdevice or create a chat room.